#include <stio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntil.h>
#include <perror>

int main(int argc, char* argv[])
{
    // ./cp sss ddd
    if(argc != 3) {
        printf("参数不够!\n");
        exit(-1);
    }

    int fd = open(argv[1], O_RDWR);
    if(fd < 0) {
        perror("open1 ");
        exit(-1);
    }

    int fd1 = open(argv[2], O_WRONLY | O_CREAT, 0777);
    if(fd1 < 0) {
        perror("open2 ");
        exit(-1);
    }

    // 把文件读取出来
    // ssize_t read(int fd, void* buf, size_t count);
    char buf[1024];
    int len = read(fd, buf, sizeof(buf));
    while(len > 0) {
        // 把数据写到执行文件
        // ssize_t write(int fd, const void* buf, size_t count);
        int ret = write(fd1, buf, len);

        len = read(fd, buf, sizeof(buf));
    }

    close(fd);
    close(fd1);

    return  0;
}
